<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="QeRIX" id="QeRIX"><span data-lake-id="u3ed5b227" id="u3ed5b227">典型回答</span></h1>
  <p data-lake-id="ua45d271c" id="ua45d271c"><br></p>
  <p data-lake-id="ud7c5cd68" id="ud7c5cd68"><strong><span data-lake-id="uf2e6e75f" id="uf2e6e75f">不一样。原子性在并发编程中，和在数据库中两种不同的概念。</span></strong></p>
  <p data-lake-id="u2396722a" id="u2396722a"><span data-lake-id="u5d3eccab" id="u5d3eccab">​</span><br></p>
  <p data-lake-id="u1442113b" id="u1442113b"><span data-lake-id="u09197447" id="u09197447">在数据库中，事务的ACID中原子性指的是"要么都执行要么都回滚"。</span></p>
  <p data-lake-id="u29cec401" id="u29cec401"><span data-lake-id="u85084c50" id="u85084c50">​</span><br></p>
  <p data-lake-id="ubb1a571e" id="ubb1a571e"><span data-lake-id="u6f0319ef" id="u6f0319ef">在并发编程中，原子性指的是"操作不可拆分、不被中断"。所以在并发编程中，我们要保证原子性指的就是一段代码需要不可拆分，不被中断。</span></p>
  <p data-lake-id="ufbde483b" id="ufbde483b"><span data-lake-id="u4ebd0817" id="u4ebd0817">​</span><br></p>
  <p data-lake-id="u6a6e5a05" id="u6a6e5a05"><span data-lake-id="u90242fbb" id="u90242fbb">比如经典的i++问题，就是原子性的一个很好地体现。</span></p>
  <p data-lake-id="u5a35c352" id="u5a35c352"><br></p>
  <p data-lake-id="u3e3e272b" id="u3e3e272b"><span data-lake-id="u3371f956" id="u3371f956">如Redis，它既是一个数据库系统，也是一个有并发的系统，那么看一下他对原子性的支持，就理解了：</span></p>
  <p data-lake-id="u2c14ec33" id="u2c14ec33"><span data-lake-id="uac37025d" id="uac37025d">​</span><br></p>
 </body>
</html>